package com.ruoyi.starbucks.service.impl;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.starbucks.domain.QueryStarbucksRewards;
import com.ruoyi.starbucks.mapper.StarbucksRewardsExtMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.starbucks.mapper.StarbucksRewardsMapper;
import com.ruoyi.starbucks.domain.StarbucksRewards;
import com.ruoyi.starbucks.service.IStarbucksRewardsService;

/**
 * 星巴克优惠券Service业务层处理
 *
 * @author ruoyi
 * @date 2021-01-05
 */
@Service
public class StarbucksRewardsServiceImpl implements IStarbucksRewardsService {
    @Autowired
    private StarbucksRewardsMapper starbucksRewardsMapper;
    @Autowired
    private StarbucksRewardsExtMapper starbucksRewardsExtMapper;

    /**
     * 查询星巴克优惠券
     *
     * @param id 星巴克优惠券ID
     * @return 星巴克优惠券
     */
    @Override
    public StarbucksRewards selectStarbucksRewardsById(Integer id) {
        return starbucksRewardsMapper.selectStarbucksRewardsById(id);
    }

    /**
     * 查询星巴克优惠券列表
     *
     * @param starbucksRewards 星巴克优惠券
     * @return 星巴克优惠券
     */
    @Override
    public List<StarbucksRewards> selectStarbucksRewardsList(QueryStarbucksRewards starbucksRewards) {
        return starbucksRewardsMapper.selectStarbucksRewardsList(starbucksRewards);
    }

    /**
     * 新增星巴克优惠券
     *
     * @param starbucksRewards 星巴克优惠券
     * @return 结果
     */
    @Override
    public int insertStarbucksRewards(StarbucksRewards starbucksRewards) {
        return starbucksRewardsMapper.insertStarbucksRewards(starbucksRewards);
    }

    /**
     * 修改星巴克优惠券
     *
     * @param starbucksRewards 星巴克优惠券
     * @return 结果
     */
    @Override
    public int updateStarbucksRewards(StarbucksRewards starbucksRewards) {
        return starbucksRewardsMapper.updateStarbucksRewards(starbucksRewards);
    }

    /**
     * 批量删除星巴克优惠券
     *
     * @param ids 需要删除的星巴克优惠券ID
     * @return 结果
     */
    @Override
    public int deleteStarbucksRewardsByIds(Integer[] ids) {
        return starbucksRewardsMapper.deleteStarbucksRewardsByIds(ids);
    }

    /**
     * 删除星巴克优惠券信息
     *
     * @param id 星巴克优惠券ID
     * @return 结果
     */
    @Override
    public int deleteStarbucksRewardsById(Integer id) {
        return starbucksRewardsMapper.deleteStarbucksRewardsById(id);
    }

    /**
     * 获取可用优惠券类型
     */
    @Override
    public AjaxResult queryRewardsType() {
        return AjaxResult.success(starbucksRewardsExtMapper.queryRewardsType());
    }
}
